<?xml version="1.0" encoding="utf-8"?>
<xs:schema xmlns:tns="http://blackbaud.com/BBECServiceBusAdapter" elementFormDefault="qualified" targetNamespace="http://blackbaud.com/BBECServiceBusAdapter" xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:import schemaLocation="http://localhost/BBECServiceBusAdapter/AdapterService.xamlx?xsd=xsd1" namespace="http://schemas.microsoft.com/2003/10/Serialization/" />
  <xs:element name="RevenueDataAddMessage">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="RevenueData" nillable="true" type="tns:RevenueDataAddContract" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:complexType name="RevenueDataAddContract">
    <xs:sequence>
      <xs:element minOccurs="0" name="Amount" type="xs:decimal" />
      <xs:element minOccurs="0" name="Appeal" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="CheckNumber" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="ConstituentID" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="CreditCardExpirationDate" nillable="true" type="xs:dateTime" />
      <xs:element minOccurs="0" name="CreditCardLastFourDigits" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="CreditCardType" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="PaymentMethod" type="tns:RevenuePaymentMethod" />
      <xs:element minOccurs="0" name="RevenueDate" type="xs:dateTime" />
      <xs:element minOccurs="0" name="RevenueLookupID" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="RevenueParentRevenueID" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="RevenueSplits" nillable="true" type="tns:ArrayOfRevenueSplit" />
      <xs:element minOccurs="0" name="TransactionType" type="tns:RevenueTransactionType" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="RevenueDataAddContract" nillable="true" type="tns:RevenueDataAddContract" />
  <xs:simpleType name="RevenuePaymentMethod">
    <xs:restriction base="xs:string">
      <xs:enumeration value="Cash" />
      <xs:enumeration value="Check" />
      <xs:enumeration value="CreditCard" />
      <xs:enumeration value="DirectDebit" />
      <xs:enumeration value="Stock" />
      <xs:enumeration value="Property" />
      <xs:enumeration value="GiftInKind" />
      <xs:enumeration value="None">
        <xs:annotation>
          <xs:appinfo>
            <EnumerationValue xmlns="http://schemas.microsoft.com/2003/10/Serialization/">9</EnumerationValue>
          </xs:appinfo>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="Other">
        <xs:annotation>
          <xs:appinfo>
            <EnumerationValue xmlns="http://schemas.microsoft.com/2003/10/Serialization/">10</EnumerationValue>
          </xs:appinfo>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="StandingOrder">
        <xs:annotation>
          <xs:appinfo>
            <EnumerationValue xmlns="http://schemas.microsoft.com/2003/10/Serialization/">11</EnumerationValue>
          </xs:appinfo>
        </xs:annotation>
      </xs:enumeration>
    </xs:restriction>
  </xs:simpleType>
  <xs:element name="RevenuePaymentMethod" nillable="true" type="tns:RevenuePaymentMethod" />
  <xs:complexType name="ArrayOfRevenueSplit">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="RevenueSplit" nillable="true" type="tns:RevenueSplit" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfRevenueSplit" nillable="true" type="tns:ArrayOfRevenueSplit" />
  <xs:complexType name="RevenueSplit">
    <xs:sequence>
      <xs:element name="Amount" type="xs:decimal" />
      <xs:element name="Designation" nillable="true" type="xs:string" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="RevenueSplit" nillable="true" type="tns:RevenueSplit" />
  <xs:simpleType name="RevenueTransactionType">
    <xs:restriction base="xs:string">
      <xs:enumeration value="Payment" />
      <xs:enumeration value="Pledge" />
      <xs:enumeration value="RecurringGift" />
      <xs:enumeration value="MatchingGiftClaim" />
      <xs:enumeration value="PlannedGift" />
      <xs:enumeration value="Order" />
      <xs:enumeration value="GrantAward" />
      <xs:enumeration value="AuctionDonation" />
      <xs:enumeration value="DonorChallengeClaim" />
      <xs:enumeration value="PendingGift" />
    </xs:restriction>
  </xs:simpleType>
  <xs:element name="RevenueTransactionType" nillable="true" type="tns:RevenueTransactionType" />
  <xs:element name="CallerID" nillable="true" type="xs:string" />
  <xs:element name="ProcessSynchronously" type="xs:boolean" />
  <xs:element name="ConstituentDataAddMessage">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="ConstituentData" nillable="true" type="tns:ConstituentAdd" />
        <xs:element minOccurs="0" name="RevenueData" nillable="true" type="tns:ArrayOfRevenueDataAddContract" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:complexType name="ConstituentAdd">
    <xs:sequence>
      <xs:element minOccurs="0" name="Addresses" nillable="true" type="tns:ArrayOfAddressData" />
      <xs:element minOccurs="0" name="AlternateIDs" nillable="true" type="tns:ArrayOfAlternateIDData" />
      <xs:element minOccurs="0" name="Birthdate" nillable="true" type="xs:dateTime" />
      <xs:element minOccurs="0" name="CommunicationPreferences" nillable="true" type="tns:ArrayOfCommunicationPreferenceData" />
      <xs:element minOccurs="0" name="Constituencies" nillable="true" type="tns:ArrayOfConstituencyData" />
      <xs:element minOccurs="0" name="ConstituentType" type="tns:ConstituentType" />
      <xs:element minOccurs="0" name="DuplicateThreshhold" type="xs:int" />
      <xs:element minOccurs="0" name="EmailAddresses" nillable="true" type="tns:ArrayOfEmailData" />
      <xs:element minOccurs="0" name="FirstName" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Gender" type="tns:ConstituentGenderType" />
      <xs:element minOccurs="0" name="Industry" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="IsInactive" type="xs:boolean" />
      <xs:element name="LastOrOrganizationName" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="LookupID" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="MaidenName" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="MaritalStatus" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="MiddleName" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Nickname" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="NumberOfEmployees" type="xs:int" />
      <xs:element minOccurs="0" name="NumberOfSubsidiaries" type="xs:int" />
      <xs:element minOccurs="0" name="ParentOrganizationID" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Phones" nillable="true" type="tns:ArrayOfPhoneData" />
      <xs:element minOccurs="0" name="Relationships" nillable="true" type="tns:ArrayOfRelationshipData" />
      <xs:element minOccurs="0" name="Revenue" nillable="true" type="tns:ArrayOfRevenueDataAddContract" />
      <xs:element minOccurs="0" name="SolicitCodes" nillable="true" type="tns:ArrayOfSolicitCodeData" />
      <xs:element minOccurs="0" name="Suffix1" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Suffix2" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Title1" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Title2" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="UpdateOnDuplicate" type="xs:boolean" />
      <xs:element minOccurs="0" name="WebAddress" nillable="true" type="xs:string" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ConstituentAdd" nillable="true" type="tns:ConstituentAdd" />
  <xs:complexType name="ArrayOfAddressData">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="AddressData" nillable="true" type="tns:AddressData" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfAddressData" nillable="true" type="tns:ArrayOfAddressData" />
  <xs:complexType name="AddressData">
    <xs:sequence>
      <xs:element minOccurs="0" name="AddressBlock" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="AddressType" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="City" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Country" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="County" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="DoNotMail" type="xs:boolean" />
      <xs:element minOccurs="0" name="EndDate" nillable="true" type="xs:dateTime" />
      <xs:element minOccurs="0" name="ID" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="IsPrimary" type="xs:boolean" />
      <xs:element minOccurs="0" name="PostalCode" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="StartDate" nillable="true" type="xs:dateTime" />
      <xs:element minOccurs="0" name="State" nillable="true" type="xs:string" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="AddressData" nillable="true" type="tns:AddressData" />
  <xs:complexType name="ArrayOfAlternateIDData">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="AlternateIDData" nillable="true" type="tns:AlternateIDData" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfAlternateIDData" nillable="true" type="tns:ArrayOfAlternateIDData" />
  <xs:complexType name="AlternateIDData">
    <xs:sequence>
      <xs:element name="AlternateID" nillable="true" type="xs:string" />
      <xs:element name="AlternateIDType" nillable="true" type="xs:string" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="AlternateIDData" nillable="true" type="tns:AlternateIDData" />
  <xs:complexType name="ArrayOfCommunicationPreferenceData">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="CommunicationPreferenceData" nillable="true" type="tns:CommunicationPreferenceData" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfCommunicationPreferenceData" nillable="true" type="tns:ArrayOfCommunicationPreferenceData" />
  <xs:complexType name="CommunicationPreferenceData">
    <xs:sequence>
      <xs:element minOccurs="0" name="CommunicationAddressType" nillable="true" type="xs:string" />
      <xs:element name="CommunicationPreferenceType" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="CommunicationSendBy" nillable="true" type="xs:string" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="CommunicationPreferenceData" nillable="true" type="tns:CommunicationPreferenceData" />
  <xs:complexType name="ArrayOfConstituencyData">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="ConstituencyData" nillable="true" type="tns:ConstituencyData" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfConstituencyData" nillable="true" type="tns:ArrayOfConstituencyData" />
  <xs:complexType name="ConstituencyData">
    <xs:sequence>
      <xs:element name="Constituency" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="EndDate" nillable="true" type="xs:dateTime" />
      <xs:element minOccurs="0" name="StartDate" nillable="true" type="xs:dateTime" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ConstituencyData" nillable="true" type="tns:ConstituencyData" />
  <xs:simpleType name="ConstituentType">
    <xs:restriction base="xs:string">
      <xs:enumeration value="Individual" />
      <xs:enumeration value="Organization" />
      <xs:enumeration value="Group" />
      <xs:enumeration value="Household" />
    </xs:restriction>
  </xs:simpleType>
  <xs:element name="ConstituentType" nillable="true" type="tns:ConstituentType" />
  <xs:complexType name="ArrayOfEmailData">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="EmailData" nillable="true" type="tns:EmailData" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfEmailData" nillable="true" type="tns:ArrayOfEmailData" />
  <xs:complexType name="EmailData">
    <xs:sequence>
      <xs:element minOccurs="0" name="DoNotEmail" type="xs:boolean" />
      <xs:element minOccurs="0" name="EmailAddress" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="EmailAddressType" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="ID" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="IsPrimary" type="xs:boolean" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="EmailData" nillable="true" type="tns:EmailData" />
  <xs:simpleType name="ConstituentGenderType">
    <xs:restriction base="xs:string">
      <xs:enumeration value="Male" />
      <xs:enumeration value="Female" />
      <xs:enumeration value="Unknown" />
    </xs:restriction>
  </xs:simpleType>
  <xs:element name="ConstituentGenderType" nillable="true" type="tns:ConstituentGenderType" />
  <xs:complexType name="ArrayOfPhoneData">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="PhoneData" nillable="true" type="tns:PhoneData" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfPhoneData" nillable="true" type="tns:ArrayOfPhoneData" />
  <xs:complexType name="PhoneData">
    <xs:sequence>
      <xs:element minOccurs="0" name="DoNotCall" type="xs:boolean" />
      <xs:element minOccurs="0" name="ID" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="IsPrimary" type="xs:boolean" />
      <xs:element name="PhoneNumber" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="PhoneType" nillable="true" type="xs:string" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="PhoneData" nillable="true" type="tns:PhoneData" />
  <xs:complexType name="ArrayOfRelationshipData">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="RelationshipData" nillable="true" type="tns:RelationshipData" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfRelationshipData" nillable="true" type="tns:ArrayOfRelationshipData" />
  <xs:complexType name="RelationshipData">
    <xs:sequence>
      <xs:element minOccurs="0" name="IsSpouse" type="xs:boolean" />
      <xs:element name="RelatedConstituent" nillable="true" type="tns:ConstituentAdd" />
      <xs:element name="RelationshipType" nillable="true" type="xs:string" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="RelationshipData" nillable="true" type="tns:RelationshipData" />
  <xs:complexType name="ArrayOfRevenueDataAddContract">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="RevenueDataAddContract" nillable="true" type="tns:RevenueDataAddContract" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfRevenueDataAddContract" nillable="true" type="tns:ArrayOfRevenueDataAddContract" />
  <xs:complexType name="ArrayOfSolicitCodeData">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="SolicitCodeData" nillable="true" type="tns:SolicitCodeData" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfSolicitCodeData" nillable="true" type="tns:ArrayOfSolicitCodeData" />
  <xs:complexType name="SolicitCodeData">
    <xs:sequence>
      <xs:element minOccurs="0" name="SolicitComment" nillable="true" type="xs:string" />
      <xs:element name="SolicitType" nillable="true" type="xs:string" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="SolicitCodeData" nillable="true" type="tns:SolicitCodeData" />
  <xs:element name="ReturnMessage">
    <xs:complexType>
      <xs:sequence>
        <xs:element xmlns:q1="http://schemas.microsoft.com/2003/10/Serialization/" minOccurs="0" name="CorrelationID" type="q1:guid" />
        <xs:element minOccurs="0" name="Result" nillable="true" type="xs:string" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="ConstituentDataUpdateMessage">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="ConstituentData" nillable="true" type="tns:ConstituentUpdate" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:complexType name="ConstituentUpdate">
    <xs:sequence>
      <xs:element minOccurs="0" name="Addresses" nillable="true" type="tns:ArrayOfAddressDataUpdate" />
      <xs:element minOccurs="0" name="AlternateIDs" nillable="true" type="tns:ArrayOfAlternateIDDataUpdate" />
      <xs:element minOccurs="0" name="Birthdate" nillable="true" type="xs:dateTime" />
      <xs:element minOccurs="0" name="CommunicationPreferences" nillable="true" type="tns:ArrayOfCommunicationPreferenceDataUpdate" />
      <xs:element minOccurs="0" name="Constituencies" nillable="true" type="tns:ArrayOfConstituencyDataUpdate" />
      <xs:element minOccurs="0" name="DuplicateThreshhold" type="xs:int" />
      <xs:element minOccurs="0" name="EmailAddresses" nillable="true" type="tns:ArrayOfEmailDataUpdate" />
      <xs:element minOccurs="0" name="FirstName" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Gender" type="tns:ConstituentGenderType" />
      <xs:element minOccurs="0" name="Industry" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="IsInactive" type="xs:boolean" />
      <xs:element minOccurs="0" name="LastOrOrganizationName" nillable="true" type="xs:string" />
      <xs:element name="LookupID" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="MaidenName" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="MaritalStatus" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="MiddleName" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Nickname" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="NumberOfEmployees" type="xs:int" />
      <xs:element minOccurs="0" name="NumberOfSubsidiaries" type="xs:int" />
      <xs:element minOccurs="0" name="ParentOrganizationID" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Phones" nillable="true" type="tns:ArrayOfPhoneDataUpdate" />
      <xs:element minOccurs="0" name="Relationships" nillable="true" type="tns:ArrayOfRelationshipDataUpdate" />
      <xs:element minOccurs="0" name="Revenue" nillable="true" type="tns:ArrayOfRevenueDataAddContract" />
      <xs:element minOccurs="0" name="SolicitCodes" nillable="true" type="tns:ArrayOfSolicitCodeDataUpdate" />
      <xs:element minOccurs="0" name="Suffix1" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Suffix2" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Title1" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Title2" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="UpdateOnDuplicate" type="xs:boolean" />
      <xs:element minOccurs="0" name="WebAddress" nillable="true" type="xs:string" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ConstituentUpdate" nillable="true" type="tns:ConstituentUpdate" />
  <xs:complexType name="ArrayOfAddressDataUpdate">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="AddressDataUpdate" nillable="true" type="tns:AddressDataUpdate" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfAddressDataUpdate" nillable="true" type="tns:ArrayOfAddressDataUpdate" />
  <xs:complexType name="AddressDataUpdate">
    <xs:complexContent mixed="false">
      <xs:extension base="tns:AddressData">
        <xs:sequence>
          <xs:element name="Action" type="tns:ActionType" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name="AddressDataUpdate" nillable="true" type="tns:AddressDataUpdate" />
  <xs:simpleType name="ActionType">
    <xs:restriction base="xs:string">
      <xs:enumeration value="Add" />
      <xs:enumeration value="Update" />
      <xs:enumeration value="Delete" />
    </xs:restriction>
  </xs:simpleType>
  <xs:element name="ActionType" nillable="true" type="tns:ActionType" />
  <xs:complexType name="ArrayOfAlternateIDDataUpdate">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="AlternateIDDataUpdate" nillable="true" type="tns:AlternateIDDataUpdate" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfAlternateIDDataUpdate" nillable="true" type="tns:ArrayOfAlternateIDDataUpdate" />
  <xs:complexType name="AlternateIDDataUpdate">
    <xs:complexContent mixed="false">
      <xs:extension base="tns:AlternateIDData">
        <xs:sequence>
          <xs:element name="Action" type="tns:ActionType" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name="AlternateIDDataUpdate" nillable="true" type="tns:AlternateIDDataUpdate" />
  <xs:complexType name="ArrayOfCommunicationPreferenceDataUpdate">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="CommunicationPreferenceDataUpdate" nillable="true" type="tns:CommunicationPreferenceDataUpdate" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfCommunicationPreferenceDataUpdate" nillable="true" type="tns:ArrayOfCommunicationPreferenceDataUpdate" />
  <xs:complexType name="CommunicationPreferenceDataUpdate">
    <xs:complexContent mixed="false">
      <xs:extension base="tns:CommunicationPreferenceData">
        <xs:sequence>
          <xs:element name="Action" type="tns:ActionType" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name="CommunicationPreferenceDataUpdate" nillable="true" type="tns:CommunicationPreferenceDataUpdate" />
  <xs:complexType name="ArrayOfConstituencyDataUpdate">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="ConstituencyDataUpdate" nillable="true" type="tns:ConstituencyDataUpdate" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfConstituencyDataUpdate" nillable="true" type="tns:ArrayOfConstituencyDataUpdate" />
  <xs:complexType name="ConstituencyDataUpdate">
    <xs:complexContent mixed="false">
      <xs:extension base="tns:ConstituencyData">
        <xs:sequence>
          <xs:element name="Action" type="tns:ActionType" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name="ConstituencyDataUpdate" nillable="true" type="tns:ConstituencyDataUpdate" />
  <xs:complexType name="ArrayOfEmailDataUpdate">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="EmailDataUpdate" nillable="true" type="tns:EmailDataUpdate" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfEmailDataUpdate" nillable="true" type="tns:ArrayOfEmailDataUpdate" />
  <xs:complexType name="EmailDataUpdate">
    <xs:complexContent mixed="false">
      <xs:extension base="tns:EmailData">
        <xs:sequence>
          <xs:element name="Action" type="tns:ActionType" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name="EmailDataUpdate" nillable="true" type="tns:EmailDataUpdate" />
  <xs:complexType name="ArrayOfPhoneDataUpdate">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="PhoneDataUpdate" nillable="true" type="tns:PhoneDataUpdate" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfPhoneDataUpdate" nillable="true" type="tns:ArrayOfPhoneDataUpdate" />
  <xs:complexType name="PhoneDataUpdate">
    <xs:complexContent mixed="false">
      <xs:extension base="tns:PhoneData">
        <xs:sequence>
          <xs:element name="Action" type="tns:ActionType" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name="PhoneDataUpdate" nillable="true" type="tns:PhoneDataUpdate" />
  <xs:complexType name="ArrayOfRelationshipDataUpdate">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="RelationshipDataUpdate" nillable="true" type="tns:RelationshipDataUpdate" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfRelationshipDataUpdate" nillable="true" type="tns:ArrayOfRelationshipDataUpdate" />
  <xs:complexType name="RelationshipDataUpdate">
    <xs:complexContent mixed="false">
      <xs:extension base="tns:RelationshipData">
        <xs:sequence>
          <xs:element name="Action" type="tns:ActionType" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name="RelationshipDataUpdate" nillable="true" type="tns:RelationshipDataUpdate" />
  <xs:complexType name="ArrayOfSolicitCodeDataUpdate">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="SolicitCodeDataUpdate" nillable="true" type="tns:SolicitCodeDataUpdate" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfSolicitCodeDataUpdate" nillable="true" type="tns:ArrayOfSolicitCodeDataUpdate" />
  <xs:complexType name="SolicitCodeDataUpdate">
    <xs:complexContent mixed="false">
      <xs:extension base="tns:SolicitCodeData">
        <xs:sequence>
          <xs:element name="Action" type="tns:ActionType" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name="SolicitCodeDataUpdate" nillable="true" type="tns:SolicitCodeDataUpdate" />
  <xs:element name="FundraisingPurposeAddDataMessage">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="FundraisingPurposeData" nillable="true" type="tns:FundraisingPurposeAdd" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:complexType name="FundraisingPurposeAdd">
    <xs:sequence>
      <xs:element name="Description" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="EndDate" nillable="true" type="xs:dateTime" />
      <xs:element name="LookupId" nillable="true" type="xs:string" />
      <xs:element name="Name" nillable="true" type="xs:string" />
      <xs:element name="PurposeType" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="StartDate" nillable="true" type="xs:dateTime" />
      <xs:element minOccurs="0" name="TimePeriodCode" type="tns:TimePeriodCode" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="FundraisingPurposeAdd" nillable="true" type="tns:FundraisingPurposeAdd" />
  <xs:simpleType name="TimePeriodCode">
    <xs:restriction base="xs:string">
      <xs:enumeration value="Annually">
        <xs:annotation>
          <xs:appinfo>
            <EnumerationValue xmlns="http://schemas.microsoft.com/2003/10/Serialization/">1</EnumerationValue>
          </xs:appinfo>
        </xs:annotation>
      </xs:enumeration>
    </xs:restriction>
  </xs:simpleType>
  <xs:element name="TimePeriodCode" nillable="true" type="tns:TimePeriodCode" />
  <xs:element name="EmailUpdateRequest">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="Emails" nillable="true" type="tns:EmailData" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="GetEmailUpdatesResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element xmlns:q2="http://schemas.microsoft.com/2003/10/Serialization/" minOccurs="0" name="CorrelationID" type="q2:guid" />
        <xs:element minOccurs="0" name="Result" nillable="true" type="xs:string" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="PhoneUpdateRequest">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="Phones" nillable="true" type="tns:PhoneData" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="AddressUpdateRequest">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="Addresses" nillable="true" type="tns:AddressData" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="ConstituentCoreUpdateRequest">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="Constituents" nillable="true" type="tns:ConstituentUpdate" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
</xs:schema>